Skip to content

fix(repos): repair moved GitHub slugs and preserve partial repository-stat cache - #1107

Open
castrojo wants to merge 1 commit into
projectbluefin:v4from
castrojo:fix-repo-slugs-cache
Open

fix(repos): repair moved GitHub slugs and preserve partial repository-stat cache#1107
castrojo wants to merge 1 commit into
projectbluefin:v4from
castrojo:fix-repo-slugs-cache

Conversation

@castrojo

@castrojo castrojo commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

Fixes #1093

Problem

fetch-github-repos.js tracked three GitHub slugs that now 404:

  • deja-dup/deja-dup
  • Flavius42/mission-center
  • tesk-g/refine

Since the script overwrites its cache file with only the successful results of each run, every fetch failure (dead slug or transient) permanently erased that project's stats from static/data/github-repos.json, and ProjectCard then fell back to visitor-side GitHub API requests for the missing entries.

Investigation

  • deja-dup/deja-dup and Flavius42/mission-center have fully moved development to GNOME GitLab. Neither has a canonical GitHub repository anymore (the deja-dup org only owns an unrelated snap packaging repo, and the mission-center-devs org has zero public GitHub repos), so there's nothing to fetch — these are dropped from GITHUB_REPOS and their githubRepo props removed from docs/donations/projects.mdx.
  • tesk-g renamed to TheEvilSkeleton, and tesk-g/refineTheEvilSkeleton/Refine is the current canonical GitHub slug, so that one is repointed (icon updated to match).

Fix

  • Repair/remove the moved slugs as above.
  • fetch-github-repos.js now reads the existing cache before fetching and merges this run's successful results on top of it, instead of overwriting the file wholesale. A transient failure for a still-tracked repo now keeps its last-known-good stats rather than disappearing; repos no longer in GITHUB_REPOS are pruned from the merged cache.

Testing

  • node --test scripts/fetch-github-repos.test.js (existing tests pass)
  • Manually verified the merge logic in isolation (fresh data wins, cached data survives a failed fetch, removed repos are dropped)

— hive: backend=copilot model=claude-sonnet-5

🐝 Hive Agent: contributor | SHA: 7c2b2ca2

…-stat cache

- Drop deja-dup/deja-dup and Flavius42/mission-center from
  fetch-github-repos.js: both projects fully moved development to GNOME
  GitLab and no longer have a canonical GitHub repository, so the
  fetch was always 404ing. Also drop the corresponding githubRepo props
  in projects.mdx so ProjectCard doesn't fall back to a wasted
  visitor-side GitHub API request for these cards.
- Repoint tesk-g/refine to TheEvilSkeleton/Refine (the account was
  renamed) and update its icon/avatar accordingly.
- fetch-github-repos.js now merges freshly fetched results on top of
  the existing cache instead of overwriting it wholesale, so a
  transient failure for one repo no longer erases previously cached
  stats for that repo. Entries for repos no longer tracked are
  dropped from the merged cache.

Signed-off-by: castrojo <castrojo@users.noreply.github.com>
@castrojo castrojo added the 3-clanker-queue Work admitted to the agent-maintained queue. label Sep 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

3-clanker-queue Work admitted to the agent-maintained queue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant